home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / powerd / lib / powerd.lha / powerd_ppc / Val.ass < prev    next >
Encoding:
Text File  |  1980-04-15  |  4.1 KB  |  305 lines

  1.     .text
  2.     .sdreg    r2
  3.     .align    2
  4. _Val:
  5. ###############################################################################
  6. # name           offset
  7. # sign           0+0(r13)
  8. # num            4+0(r13)
  9. # args ###########################
  10. # s              8+0(r13)
  11. # n              12+0(r13)
  12.     stwu    r1,-44(r1)
  13.     stw    r13,24(r1)
  14.     mr    r13,r1
  15.     stw    r3,8+28(r13)
  16.     stw    r4,12+28(r13)
  17.     li    r3,0
  18.     stw    r3,4+28(r13)
  19.     li    r3,1
  20.     stw    r3,0+28(r13)
  21. while0:
  22.     lwz    r5,8+28(r13)
  23.     lwz    r6,12+28(r13)
  24.     lbzx    r4,r5,r6
  25.     cmpwi    r4,9
  26.     beq    $+12
  27.     li    r4,0
  28.     b    $+8
  29.     li    r4,-1
  30.     mr    r3,r4
  31.     lwz    r5,8+28(r13)
  32.     lwz    r6,12+28(r13)
  33.     lbzx    r4,r5,r6
  34.     cmpwi    r4,10
  35.     beq    $+12
  36.     li    r4,0
  37.     b    $+8
  38.     li    r4,-1
  39.     or    r3,r3,r4
  40.     lwz    r5,8+28(r13)
  41.     lwz    r6,12+28(r13)
  42.     lbzx    r4,r5,r6
  43.     cmpwi    r4,32
  44.     beq    $+12
  45.     li    r4,0
  46.     b    $+8
  47.     li    r4,-1
  48.     or    r3,r3,r4
  49.     mr.    r3,r3
  50.     beq    end0
  51.     lwz    r3,12+28(r13)
  52.     addi    r3,r3,1
  53.     stw    r3,12+28(r13)
  54.     b    while0
  55. end0:
  56. if1:
  57.     lwz    r4,8+28(r13)
  58.     lwz    r5,12+28(r13)
  59.     lbzx    r3,r4,r5
  60.     cmpwi    r3,45
  61.     beq    $+12
  62.     li    r3,0
  63.     b    $+8
  64.     li    r3,-1
  65.     mr.    r3,r3
  66.     beq    end1
  67.     li    r3,-1
  68.     stw    r3,0+28(r13)
  69.     lwz    r3,12+28(r13)
  70.     addi    r3,r3,1
  71.     stw    r3,12+28(r13)
  72. end1:
  73. if3:
  74.     lwz    r4,8+28(r13)
  75.     lwz    r5,12+28(r13)
  76.     lbzx    r3,r4,r5
  77.     cmpwi    r3,37
  78.     beq    $+12
  79.     li    r3,0
  80.     b    $+8
  81.     li    r3,-1
  82.     mr.    r3,r3
  83.     beq    elseif3_1
  84.     lwz    r3,12+28(r13)
  85.     addi    r3,r3,1
  86.     stw    r3,12+28(r13)
  87. while5:
  88.     lwz    r5,8+28(r13)
  89.     lwz    r6,12+28(r13)
  90.     lbzx    r4,r5,r6
  91.     cmpwi    r4,48
  92.     beq    $+12
  93.     li    r4,0
  94.     b    $+8
  95.     li    r4,-1
  96.     mr    r3,r4
  97.     lwz    r5,8+28(r13)
  98.     lwz    r6,12+28(r13)
  99.     lbzx    r4,r5,r6
  100.     cmpwi    r4,49
  101.     beq    $+12
  102.     li    r4,0
  103.     b    $+8
  104.     li    r4,-1
  105.     or    r3,r3,r4
  106.     mr.    r3,r3
  107.     beq    end5
  108.     lwz    r3,4+28(r13)
  109.     slwi    r3,r3,1
  110.     stw    r3,4+28(r13)
  111.     lwz    r4,8+28(r13)
  112.     lwz    r5,12+28(r13)
  113.     lbzx    r3,r4,r5
  114.     subi    r3,r3,48
  115.     lwz    r4,4+28(r13)
  116.     or    r4,r4,r3
  117.     stw    r4,4+28(r13)
  118.     lwz    r3,12+28(r13)
  119.     addi    r3,r3,1
  120.     stw    r3,12+28(r13)
  121.     b    while5
  122. end5:
  123.     b    end3
  124. elseif3_1:
  125.     lwz    r4,8+28(r13)
  126.     lwz    r5,12+28(r13)
  127.     lbzx    r3,r4,r5
  128.     cmpwi    r3,36
  129.     beq    $+12
  130.     li    r3,0
  131.     b    $+8
  132.     li    r3,-1
  133.     mr.    r3,r3
  134.     beq    elseif3_2
  135.     lwz    r3,12+28(r13)
  136.     addi    r3,r3,1
  137.     stw    r3,12+28(r13)
  138. while8:
  139.     lwz    r5,8+28(r13)
  140.     lwz    r6,12+28(r13)
  141.     lbzx    r4,r5,r6
  142.     cmpwi    r4,48
  143.     bge    $+12
  144.     li    r4,0
  145.     b    $+8
  146.     li    r4,-1
  147.     mr    r3,r4
  148.     lwz    r5,8+28(r13)
  149.     lwz    r6,12+28(r13)
  150.     lbzx    r4,r5,r6
  151.     cmpwi    r4,57
  152.     ble    $+12
  153.     li    r4,0
  154.     b    $+8
  155.     li    r4,-1
  156.     and    r3,r3,r4
  157.     mr.    r3,r3
  158.     beq    elsewhile8_1
  159.     lwz    r3,4+28(r13)
  160.     slwi    r3,r3,4
  161.     stw    r3,4+28(r13)
  162.     lwz    r4,8+28(r13)
  163.     lwz    r5,12+28(r13)
  164.     lbzx    r3,r4,r5
  165.     subi    r3,r3,48
  166.     lwz    r4,4+28(r13)
  167.     or    r4,r4,r3
  168.     stw    r4,4+28(r13)
  169.     b    always8
  170. elsewhile8_1:
  171.     lwz    r5,8+28(r13)
  172.     lwz    r6,12+28(r13)
  173.     lbzx    r4,r5,r6
  174.     cmpwi    r4,97
  175.     bge    $+12
  176.     li    r4,0
  177.     b    $+8
  178.     li    r4,-1
  179.     mr    r3,r4
  180.     lwz    r5,8+28(r13)
  181.     lwz    r6,12+28(r13)
  182.     lbzx    r4,r5,r6
  183.     cmpwi    r4,102
  184.     ble    $+12
  185.     li    r4,0
  186.     b    $+8
  187.     li    r4,-1
  188.     and    r3,r3,r4
  189.     mr.    r3,r3
  190.     beq    elsewhile8_2
  191.     lwz    r3,4+28(r13)
  192.     slwi    r3,r3,4
  193.     stw    r3,4+28(r13)
  194.     lwz    r4,8+28(r13)
  195.     lwz    r5,12+28(r13)
  196.     lbzx    r3,r4,r5
  197.     subi    r3,r3,97
  198.     addi    r3,r3,10
  199.     lwz    r4,4+28(r13)
  200.     or    r4,r4,r3
  201.     stw    r4,4+28(r13)
  202.     b    always8
  203. elsewhile8_2:
  204.     lwz    r5,8+28(r13)
  205.     lwz    r6,12+28(r13)
  206.     lbzx    r4,r5,r6
  207.     cmpwi    r4,65
  208.     bge    $+12
  209.     li    r4,0
  210.     b    $+8
  211.     li    r4,-1
  212.     mr    r3,r4
  213.     lwz    r5,8+28(r13)
  214.     lwz    r6,12+28(r13)
  215.     lbzx    r4,r5,r6
  216.     cmpwi    r4,70
  217.     ble    $+12
  218.     li    r4,0
  219.     b    $+8
  220.     li    r4,-1
  221.     and    r3,r3,r4
  222.     mr.    r3,r3
  223.     beq    end8
  224.     lwz    r3,4+28(r13)
  225.     slwi    r3,r3,4
  226.     stw    r3,4+28(r13)
  227.     lwz    r4,8+28(r13)
  228.     lwz    r5,12+28(r13)
  229.     lbzx    r3,r4,r5
  230.     subi    r3,r3,65
  231.     addi    r3,r3,10
  232.     lwz    r4,4+28(r13)
  233.     or    r4,r4,r3
  234.     stw    r4,4+28(r13)
  235. always8:
  236.     lwz    r3,12+28(r13)
  237.     addi    r3,r3,1
  238.     stw    r3,12+28(r13)
  239.     b    while8
  240. end8:
  241.     b    end3
  242. elseif3_2:
  243. while14:
  244.     lwz    r5,8+28(r13)
  245.     lwz    r6,12+28(r13)
  246.     lbzx    r4,r5,r6
  247.     cmpwi    r4,48
  248.     bge    $+12
  249.     li    r4,0
  250.     b    $+8
  251.     li    r4,-1
  252.     mr    r3,r4
  253.     lwz    r5,8+28(r13)
  254.     lwz    r6,12+28(r13)
  255.     lbzx    r4,r5,r6
  256.     cmpwi    r4,57
  257.     ble    $+12
  258.     li    r4,0
  259.     b    $+8
  260.     li    r4,-1
  261.     and    r3,r3,r4
  262.     mr.    r3,r3
  263.     beq    end14
  264.     lwz    r3,4+28(r13)
  265.     mulli    r3,r3,10
  266.     stw    r3,4+28(r13)
  267.     lwz    r4,8+28(r13)
  268.     lwz    r5,12+28(r13)
  269.     lbzx    r3,r4,r5
  270.     subi    r3,r3,48
  271.     lwz    r4,4+28(r13)
  272.     add    r4,r4,r3
  273.     stw    r4,4+28(r13)
  274.     lwz    r3,12+28(r13)
  275.     addi    r3,r3,1
  276.     stw    r3,12+28(r13)
  277.     b    while14
  278. end14:
  279. end3:
  280. Valend:
  281.     lwz    r3,4+28(r13)
  282.     lwz    r4,0+28(r13)
  283.     mullw    r3,r3,r4
  284.     lwz    r4,12+28(r13)
  285. Valfinish:
  286.     lwz    r13,24(r1)
  287.     addi    r1,r1,44
  288.     blr
  289.  
  290.     .global    _Val
  291.     .type    _Val,2
  292.     .size    _Val,$-_Val
  293. Val_local:
  294.     .global    @_Val_local
  295.     .tocd
  296.     .extern    _PowerPCBase
  297.     .extern    _stdin
  298.     .extern    _stdout
  299.     .extern    _arg
  300.     .extern    _GfxBase
  301.     .extern    _IntuitionBase
  302.     .extern    _DOSBase
  303.     .extern    _ExecBase
  304.     .data
  305.